The restoration of a storage device for a computer, such as a hard disk drive, to a previous state is critical in many situations. For example, in enterprise computing situations, testing whether installation of new software to a hard disk drive is compatible with the rest of the system means that frequently the hard disk drive must be restored to a state previous to when the installation of the new software was performed, if bugs or problems are encountered after the software has been installed. This situation also presents itself in other environments, such as the personal computer context: for example, a user installing a new version of an operating system to his or her hard disk drive may find that the operating system does not function as advertised, such that the user desires to restore the disk drive to the previous operating system.
In situations such as these, the process for restoration is generally similar. First, a backup of the storage device is made to another storage device, such as a hard disk drive. The new software is then installed, and the system booted and tested. When a problem arises such that restoration is required, the backup previously made is copied back to the hard drive. However, this is a less than optimal solution: backing up and restoration of a storage device can take hours in the case of a personal computer, and in enterprise contexts can literally take days if there is enough information that needs to be backed up or restored. Thus, the testing process of new software installations becomes needlessly time intensive.
For these and other reasons, there is a need for the present invention.